package com.yunxi.sto.service;

import com.github.pagehelper.PageInfo;
import com.yunxi.core.web.ApiResult;
import com.yunxi.sto.pojo.*;
import java.lang.reflect.InvocationTargetException;
import java.util.List;

/**
 * <p>
 * 仓库结构管理 服务类
 * </p>
 *
 * @author caoYong
 * @since 2019-05-14
 */
public interface StoManageDubboService {

    StoManageVO getById(String id) throws InvocationTargetException, IllegalAccessException;

    ApiResult saveOrUpdate(StoManageEditVO stoManageEditVO) throws Exception;

    void removeById(String id);

    void del(List<String> list,String userId) throws Exception;

    void reset(List<String> list,String userId);

    void frozen(List<VehicleStockFrozenVO> list, String userId)throws Exception;

    void frozenReset(List<VehicleStockFrozenVO> list,String userId)throws Exception;

    PageInfo detail(String storageId,Integer pageNum,Integer pageSize);

    PageInfo<StoManageVO> findPageByVO(StoManageVO stoManageVO, Integer pageNum, Integer pageSize);

    Object findTreeList() throws NoSuchMethodException, IllegalAccessException, InvocationTargetException;

    /**
     * 渠道商新增仓库
     * @param stoManageAddVO
     * @return
     */
    String partnerStorage(StoManageAddVO stoManageAddVO) throws Exception;

    /**
     * 库区列表
     * @return
     */
    List<StoManageAreaVO> areaList();

    List<VehicleStockFrozenListVO> exportFrozenHis()throws Exception;

}
